热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

技术干货|移动消息推送实践一键免密登录

为企业用户提供一种更安全、

鉴于现在各类业务运营需求的增强,消息推送在移动APP开发中应用的场景是十分常见:如电商的活动宣传、资讯类产品进行新闻推送、移动APP辅助登录认证等等。


推送消息截图


什么是移动消息推送?


消息推送的本质,是指移动应用App主动向用户推送服务器最新消息。实际上,是当服务器有新消息需要推送给用户时,先发送给应用App,应用App再发送给用户。


移动消息推送实现原理,主要有以下方式:

实现原理示意图



消息推送解决方案介绍


01
Android消息推送解决方案


在Google提供的Android移动操作系统中,实现消息推送的主流方案有5种,接下来我们分别做下介绍: 


方案一:C2DM

Cloud to Device Messaging,云端推送,是Android系统级别的消息推送服务;基于Push方式实现推送;


方案二:轮询机制

实现原理:基于Pull方式,应用程序间隔固定时间主动与服务器进行连接并查询是否有新的消息;


方案三:SMS信令推送

实现原理:基于Push方式,当服务器有新消息时,发送1条类似短信的信令给客户端,客户端通过拦截信令,解析消息内容/向服务器获取信息;


方案四:MQTT协议

定义为轻量级的消息发布/订阅协议,实现原理:基于Push方式;


方案五:XMPP协议

定义:可扩展消息与存在协议,是基于可扩展标记语言(XML)的协议,是目前主流的四种IM协议之一;


02
IOS消息推送解决方案


APNs(英文全称:Apple Push Notification service),中文翻译为:苹果推送通知服务。该技术由苹果公司提供的APNs服务。


IOS消息推送的工作机制可以分为三个阶段


第一阶段:应用程序把要发送的消息、目的iPhone的标识打包,发给APNS;


第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发送到iPhone;


第三阶段:iPhone把发来的消息传递给相应的应用程序,并且按照设定弹出Push通知。


03
第三方平台消息推送解决方案


目前主流的第三方消息推送平台主要有以下分类:


主流手机厂商类:小米推送、华为推送;


第三方平台类:友盟推送、极光推送、云巴(基于MQTT);


BAT大厂的平台推送:阿里云移动推送、腾讯信鸽推送、百度云推送等;


第三方移动消息推送服务基本都具备免费、和到达率高的特点。


那么应该如何选择呢?其中选择因素取决于:用户群体属性、实现成本、渠道。


我们来分别看一下第三方推送选择的标准:


第三方平台选择方案建议-示意图


使用建议:大家可根据自己的使用场景来进行消息推送平台的选择。



移动消息推送实践-一键免密登录


在今年6月的苹果开发者大会上,苹果宣布将会在iOS 13系统中加上“一键登录”功能,要求开发者在iPhone和iPad的应用程序植入“使用Apple登录”按钮。从现场爆发的掌声和欢呼看来,要说“天下苦密码久矣”也绝不为过。


传统的密码登录机制究竟有什么“原罪”?最大的问题在于,无限的账号和我们有限的记忆力存在不可调和的矛盾


那其他登录方式呢?比如短信验证和微信、淘宝等第三方账号登录。


短信验证码最大的问题在于明文验证,黑客甚至有可能通过伪基站劫持短信验证码来破解用户的账号。第三方账号登录往往会以泄露用户信息为代价。用户使用第三方账号登录时,他们的使用习惯有可能被账号运营方获取。


派拉深耕于企业安全认证市场,在现有企业安全认证的账号体系中,基于第三方平台消息推送解决方案的基础上,为企业用户提供一种更安全、私密、快捷的登录方式,推出我们自己的“一键免密登录”。


以下是派拉在企业安全APP实现一键免密登录的场景实践:


1、用户在 PC 端登录页面,点击 “一键快捷登录” 按钮,触发手机一键登录;


示意图-1


2、此时用户在已经安装了企业安全 App的手机会收到一条登录验证请求,用户只需要按照 PC 端提示打开企业安全 App; 


示意图-2


3、开启企业安全 App,会弹出手机安全登录页面,点击“确认登录”按钮,执行一键登录;


示意图-3


4、此时用户可以看到 PC 端已经登录成功啦。


示意图-4


派拉企业安全认证产品实现一键免密登录功能的意义:


告别明文验证,为安全站岗


相对于主流短信验证码的注册登录方式,用户手机端的一键登录方式能降低短信验证码被劫持的风险; 


用户手机端确认,提高安全性


用户通过手机端APP进行确认,能够保障企业内部用户的唯一性,降低账号使用安全风险。


上文通过对移动消息推送的全面介绍,我们在安全认证产品中把技术热点应用于产品落地实践,实现用户PC端登录与手机APP的协同配合,从而提高用户对密码的无感体验,提升用户登录操作的便捷性,最终实现用户身份确认与无密码认证的安全性保障。



往期精彩回顾
技术干货 | 新时代下的MFA
技术干货 | Redis的哨兵和集群
技术干货 |   持续集成与持续交付之间相差一个“安全”
技术干货 | 统一身份认证系统---企业实施和保护
技术干货 | 零信任安全架构的核心基础——统一身份认证





推荐阅读
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • GAMETECH腾讯云游戏行业技术沙龙成都站圆满落幕
    11月13日,由腾讯云主办、游戏茶馆协办的2020年首场GAME-TECH腾讯云游戏行业技术沙龙在成都圆满落幕。本次沙龙邀请了腾讯云游戏行业解决方案总监宋永周、腾讯云游戏行业高级解决方案架构师曾梓恩、腾讯云游戏行业高级产品架构师郑晓曦、腾讯云游戏行业高级解决方案架构师温球良和天美L1(王者荣耀)服务器技术副总监杨光,为参会同行们带来了干货满满的技术建议。本文介绍了腾讯云游戏云的优势和为不同游戏研运场景提供的服务。腾讯云在中国游戏云服务市场领跑,成为众多游戏开发者的合作伙伴。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • Redis底层数据结构之压缩列表的介绍及实现原理
    本文介绍了Redis底层数据结构之压缩列表的概念、实现原理以及使用场景。压缩列表是Redis为了节约内存而开发的一种顺序数据结构,由特殊编码的连续内存块组成。文章详细解释了压缩列表的构成和各个属性的含义,以及如何通过指针来计算表尾节点的地址。压缩列表适用于列表键和哈希键中只包含少量小整数值和短字符串的情况。通过使用压缩列表,可以有效减少内存占用,提升Redis的性能。 ... [详细]
  • 企业数据应用挑战及元数据管理的重要性
    本文主要介绍了企业在日常经营管理过程中面临的数据应用挑战,包括数据找不到、数据读不懂、数据不可信等问题。针对这些挑战,通过元数据管理可以实现数据的可见、可懂、可用,帮助业务快速获取所需数据。文章提出了“灵魂”三问——元数据是什么、有什么用、又该怎么管,强调了元数据管理在企业数据治理中的基础和前提作用。 ... [详细]
  • 本文介绍了Redis中RDB文件和AOF文件的保存和还原机制。RDB文件用于保存和还原Redis服务器所有数据库中的键值对数据,SAVE命令和BGSAVE命令分别用于阻塞服务器和由子进程执行保存操作。同时执行SAVE命令和BGSAVE命令,以及同时执行两个BGSAVE命令都会产生竞争条件。服务器会保存所有用save选项设置的保存条件,当满足任意一个保存条件时,服务器会自动执行BGSAVE命令。此外,还介绍了RDB文件和AOF文件在操作方面的冲突以及同时执行大量磁盘写入操作的不良影响。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
author-avatar
林丰岚_324
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有